inherited fmEditTypeLesson: TfmEditTypeLesson
  Left = 284
  Top = 173
  Width = 713
  Height = 731
  Caption = 'fmEditTypeLesson'
  Constraints.MinHeight = 731
  Constraints.MinWidth = 713
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  inherited sbBottom: TStatusBar
    Top = 670
    Width = 705
  end
  inherited Panel1: TPanel
    Width = 705
    inherited BitBtn1: TBitBtn
      Left = 535
    end
    inherited BitBtn2: TBitBtn
      Left = 623
    end
  end
  object tbTop: TToolBar [2]
    Left = 0
    Top = 45
    Width = 705
    Height = 34
    AutoSize = True
    BorderWidth = 2
    Images = DMInv.ilActive
    TabOrder = 2
    TabStop = True
    Transparent = True
    object tbInsert: TToolButton
      Left = 0
      Top = 2
      Hint = #1044#1086#1073#1072#1074#1080#1090#1100
      ImageIndex = 30
      ParentShowHint = False
      ShowHint = True
      OnClick = tbInsertClick
    end
    object tbInsertChild: TToolButton
      Left = 23
      Top = 2
      Hint = #1044#1086#1073#1072#1074#1080#1090#1100' '#1087#1086#1090#1086#1084#1082#1072
      Caption = 'tbInsertChild'
      ImageIndex = 32
      ParentShowHint = False
      ShowHint = True
      OnClick = tbInsertChildClick
    end
    object tbDelete: TToolButton
      Left = 46
      Top = 2
      Hint = #1059#1076#1072#1083#1080#1090#1100
      ImageIndex = 29
      ParentShowHint = False
      ShowHint = True
      OnClick = tbDeleteClick
    end
    object tbEdit: TToolButton
      Left = 69
      Top = 2
      Hint = #1048#1079#1084#1077#1085#1080#1090#1100
      ImageIndex = 2
      ParentShowHint = False
      ShowHint = True
      OnClick = tbEditClick
    end
    object ToolButton3: TToolButton
      Left = 92
      Top = 2
      Width = 8
      Caption = 'ToolButton3'
      ImageIndex = 2
      Style = tbsSeparator
    end
    object cbType: TComboBox
      Left = 100
      Top = 2
      Width = 233
      Height = 21
      AutoDropDown = True
      Style = csDropDownList
      DropDownCount = 25
      ItemHeight = 13
      TabOrder = 0
      OnChange = cbTypeChange
    end
  end
  object Panel2: TPanel [3]
    Left = 0
    Top = 79
    Width = 705
    Height = 46
    Align = alTop
    TabOrder = 3
    TabStop = True
    Visible = False
    DesignSize = (
      705
      46)
    object edSDNAME: TcxDBTextEdit
      Left = 9
      Top = 13
      DataBinding.DataField = 'SDNAME'
      DataBinding.DataSource = dlgDS
      TabOrder = 0
      Width = 250
    end
    object btSave: TBitBtn
      Left = 504
      Top = 10
      Width = 92
      Height = 25
      Anchors = [akTop, akRight]
      Caption = #1057#1086#1093#1088#1072#1085#1080#1090#1100
      Default = True
      TabOrder = 2
      OnClick = btSaveClick
      Glyph.Data = {
        DE010000424DDE01000000000000760000002800000024000000120000000100
        0400000000006801000000000000000000001000000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
        3333333333333333333333330000333333333333333333333333F33333333333
        00003333344333333333333333388F3333333333000033334224333333333333
        338338F3333333330000333422224333333333333833338F3333333300003342
        222224333333333383333338F3333333000034222A22224333333338F338F333
        8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
        33333338F83338F338F33333000033A33333A222433333338333338F338F3333
        0000333333333A222433333333333338F338F33300003333333333A222433333
        333333338F338F33000033333333333A222433333333333338F338F300003333
        33333333A222433333333333338F338F00003333333333333A22433333333333
        3338F38F000033333333333333A223333333333333338F830000333333333333
        333A333333333333333338330000333333333333333333333333333333333333
        0000}
      NumGlyphs = 2
    end
    object btCancel: TBitBtn
      Left = 608
      Top = 10
      Width = 89
      Height = 25
      Anchors = [akTop, akRight]
      Cancel = True
      Caption = #1054#1090#1084#1077#1085#1080#1090#1100
      TabOrder = 1
      OnClick = btCancelClick
      Glyph.Data = {
        DE010000424DDE01000000000000760000002800000024000000120000000100
        0400000000006801000000000000000000001000000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
        333333333333333333333333000033338833333333333333333F333333333333
        0000333911833333983333333388F333333F3333000033391118333911833333
        38F38F333F88F33300003339111183911118333338F338F3F8338F3300003333
        911118111118333338F3338F833338F3000033333911111111833333338F3338
        3333F8330000333333911111183333333338F333333F83330000333333311111
        8333333333338F3333383333000033333339111183333333333338F333833333
        00003333339111118333333333333833338F3333000033333911181118333333
        33338333338F333300003333911183911183333333383338F338F33300003333
        9118333911183333338F33838F338F33000033333913333391113333338FF833
        38F338F300003333333333333919333333388333338FFF830000333333333333
        3333333333333333333888330000333333333333333333333333333333333333
        0000}
      NumGlyphs = 2
    end
  end
  object dbTW: TdxDBTreeView [4]
    Left = 0
    Top = 125
    Width = 705
    Height = 188
    ShowNodeHint = True
    DeletingConfirmationMessage = #1042#1099' '#1076#1077#1081#1089#1090#1074#1080#1090#1077#1083#1100#1085#1086' '#1093#1086#1090#1080#1090#1077' '#1091#1076#1072#1083#1080#1090#1100' '#1101#1083#1077#1084#1077#1085#1090' "%s"'
    RowSelect = True
    DataSource = dlgDS
    DisplayField = 'SDNAME'
    KeyField = 'SDID'
    ListField = 'SDNAME'
    ParentField = 'SDPARID'
    RootValue = 22
    SeparatedSt = '-'
    StateIndexField = 'SDISDELETE'
    RaiseOnError = True
    DragMode = dmAutomatic
    Indent = 19
    OnChanging = dbTWChanging
    Align = alTop
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clBlack
    Font.Height = -13
    Font.Name = 'Arial'
    Font.Style = []
    ParentColor = False
    Options = [trSmartRecordLoad, trCheckHasChildren]
    SortType = stText
    SelectedIndex = 1
    TabOrder = 4
    ParentFont = False
    ParentShowHint = False
    ShowHint = False
    IsConfirmationAssigned = True
  end
  object ToolBar1: TToolBar [5]
    Left = 0
    Top = 313
    Width = 705
    Height = 34
    BorderWidth = 2
    EdgeInner = esNone
    EdgeOuter = esNone
    Images = DMInv.ilActive
    TabOrder = 5
    Transparent = True
    object ToolButton1: TToolButton
      Left = 0
      Top = 2
      Hint = #1056#1077#1076#1072#1082#1090#1080#1088#1086#1074#1072#1085#1080#1077' '#1072#1076#1088#1077#1089#1072
      Caption = #1056#1077#1076#1072#1082#1090#1080#1088#1086#1074#1072#1085#1080#1077' '#1072#1076#1088#1077#1089#1072
      ImageIndex = 30
      ParentShowHint = False
      ShowHint = True
      OnClick = ToolButton1Click
    end
    object ToolButton2: TToolButton
      Left = 23
      Top = 2
      Caption = 'ToolButton3'
      ImageIndex = 29
      OnClick = ToolButton2Click
    end
  end
  object Panel3: TPanel [6]
    Left = 0
    Top = 347
    Width = 705
    Height = 46
    Align = alTop
    TabOrder = 6
    TabStop = True
    Visible = False
    DesignSize = (
      705
      46)
    object BitBtn3: TBitBtn
      Left = 504
      Top = 10
      Width = 92
      Height = 25
      Anchors = [akTop, akRight]
      Caption = #1057#1086#1093#1088#1072#1085#1080#1090#1100
      Default = True
      TabOrder = 1
      OnClick = BitBtn3Click
      Glyph.Data = {
        DE010000424DDE01000000000000760000002800000024000000120000000100
        0400000000006801000000000000000000001000000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
        3333333333333333333333330000333333333333333333333333F33333333333
        00003333344333333333333333388F3333333333000033334224333333333333
        338338F3333333330000333422224333333333333833338F3333333300003342
        222224333333333383333338F3333333000034222A22224333333338F338F333
        8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
        33333338F83338F338F33333000033A33333A222433333338333338F338F3333
        0000333333333A222433333333333338F338F33300003333333333A222433333
        333333338F338F33000033333333333A222433333333333338F338F300003333
        33333333A222433333333333338F338F00003333333333333A22433333333333
        3338F38F000033333333333333A223333333333333338F830000333333333333
        333A333333333333333338330000333333333333333333333333333333333333
        0000}
      NumGlyphs = 2
    end
    object BitBtn4: TBitBtn
      Left = 608
      Top = 10
      Width = 89
      Height = 25
      Anchors = [akTop, akRight]
      Cancel = True
      Caption = #1054#1090#1084#1077#1085#1080#1090#1100
      TabOrder = 0
      OnClick = BitBtn4Click
      Glyph.Data = {
        DE010000424DDE01000000000000760000002800000024000000120000000100
        0400000000006801000000000000000000001000000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
        333333333333333333333333000033338833333333333333333F333333333333
        0000333911833333983333333388F333333F3333000033391118333911833333
        38F38F333F88F33300003339111183911118333338F338F3F8338F3300003333
        911118111118333338F3338F833338F3000033333911111111833333338F3338
        3333F8330000333333911111183333333338F333333F83330000333333311111
        8333333333338F3333383333000033333339111183333333333338F333833333
        00003333339111118333333333333833338F3333000033333911181118333333
        33338333338F333300003333911183911183333333383338F338F33300003333
        9118333911183333338F33838F338F33000033333913333391113333338FF833
        38F338F300003333333333333919333333388333338FFF830000333333333333
        3333333333333333333888330000333333333333333333333333333333333333
        0000}
      NumGlyphs = 2
    end
    object edSDOPT: TcxTextEdit
      Left = 8
      Top = 11
      TabOrder = 2
      Width = 481
    end
  end
  object cxGrid2: TcxGrid [7]
    Left = 0
    Top = 393
    Width = 705
    Height = 277
    Align = alClient
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = []
    ParentFont = False
    TabOrder = 7
    LookAndFeel.Kind = lfStandard
    object cxGridDBTableView2: TcxGridDBTableView
      NavigatorButtons.ConfirmDelete = False
      NavigatorButtons.First.Visible = True
      NavigatorButtons.PriorPage.Visible = True
      NavigatorButtons.Prior.Visible = True
      NavigatorButtons.Next.Visible = True
      NavigatorButtons.NextPage.Visible = True
      NavigatorButtons.Last.Visible = True
      NavigatorButtons.Insert.Visible = False
      NavigatorButtons.Append.Visible = False
      NavigatorButtons.Delete.Visible = False
      NavigatorButtons.Edit.Visible = False
      NavigatorButtons.Post.Visible = False
      NavigatorButtons.Cancel.Visible = False
      NavigatorButtons.Refresh.Visible = False
      NavigatorButtons.SaveBookmark.Visible = False
      NavigatorButtons.GotoBookmark.Visible = False
      NavigatorButtons.Filter.Visible = False
      FilterBox.Position = fpTop
      DataController.DataSource = dsFOPD
      DataController.Summary.DefaultGroupSummaryItems = <>
      DataController.Summary.FooterSummaryItems = <
        item
          Kind = skCount
          FieldName = 'pid'
        end>
      DataController.Summary.SummaryGroups = <>
      FilterRow.InfoText = #1065#1077#1083#1082#1085#1080#1090#1077' '#1079#1076#1077#1089#1100' '#1076#1083#1103' '#1089#1086#1079#1076#1072#1085#1080#1103' '#1092#1080#1083#1100#1090#1088#1072
      NewItemRow.InfoText = #1065#1105#1083#1082#1085#1080#1090#1077' '#1079#1076#1077#1089#1100' '#1076#1083#1103' '#1076#1086#1073#1072#1074#1083#1077#1085#1080#1103' '#1085#1086#1074#1086#1081' '#1089#1090#1088#1086#1082#1080
      OptionsBehavior.CellHints = True
      OptionsBehavior.IncSearch = True
      OptionsCustomize.ColumnFiltering = False
      OptionsData.CancelOnExit = False
      OptionsData.Deleting = False
      OptionsData.DeletingConfirmation = False
      OptionsData.Inserting = False
      OptionsView.NavigatorOffset = 10
      OptionsView.NoDataToDisplayInfoText = '<'#1053#1077#1090' '#1076#1072#1085#1085#1099#1093'>'
      OptionsView.CellAutoHeight = True
      OptionsView.CellTextMaxLineCount = 4
      OptionsView.ColumnAutoWidth = True
      OptionsView.Footer = True
      OptionsView.GroupByBox = False
      OptionsView.Indicator = True
      Preview.Visible = True
      Styles.IncSearch = DMInv.cxKrasniyText
      Styles.Selection = DMInv.cxJoltiyFon
      Styles.Header = DMInv.cxSiniyText
      object cxGridDBTableView1RecId: TcxGridDBColumn
        DataBinding.FieldName = 'RecId'
        Visible = False
      end
      object cxGridDBTableView1sdname: TcxGridDBColumn
        Caption = #1057#1074#1086#1081#1089#1090#1074#1086
        DataBinding.FieldName = 'sdname'
        Options.Editing = False
        Width = 191
      end
      object cxGridDBTableView1cvalue: TcxGridDBColumn
        Caption = #1047#1085#1072#1095#1077#1085#1080#1077
        DataBinding.FieldName = 'cvalue'
        Width = 685
      end
    end
    object cxGridLevel2: TcxGridLevel
      GridView = cxGridDBTableView2
    end
  end
  inherited dlgDS: TDataSource
    DataSet = qSD
    Left = 80
    Top = 88
  end
  object qType: TIBQuery
    Database = DMInv.DBRead
    Transaction = DMInv.IBTransaction1
    AfterOpen = qTypeAfterOpen
    SQL.Strings = (
      'SELECT SD.SDID, SD.SDNAME'
      '  FROM SYS_DIC SD'
      ' WHERE SD.SDPARID = 13000'
      ' ORDER BY 2')
    Left = 344
    object qTypeSDID: TIntegerField
      FieldName = 'SDID'
      ProviderFlags = []
    end
    object qTypeSDNAME: TIBStringField
      FieldName = 'SDNAME'
      ProviderFlags = []
      Size = 255
    end
  end
  object qSD: TIBQuery
    Database = DMInv.DBRead
    Transaction = DMInv.IBTransaction1
    AfterInsert = qSDAfterInsert
    AfterOpen = qSDAfterOpen
    AfterScroll = qSDAfterScroll
    BeforeOpen = qSDBeforeOpen
    CachedUpdates = True
    SQL.Strings = (
      'SELECT t1.sdparid, t1.sdid, t1.sdname, SD1.SDISDELETE'
      'FROM'
      '('
      'WITH   recursive'
      '   tree (SDNAME, SDID, SDPARID, o)'
      
        '   AS (SELECT SD.SDNAME, SD.SDID, sd.SDPARID, CAST('#39#39' AS VARCHAR' +
        '(2048)) AS o FROM SYS_DIC SD'
      '      WHERE sd.SDPARID = :SDPARID'
      '      UNION ALL'
      '      SELECT SD1.SDNAME, SD1.SDID, sd1.SDPARID, '#39#39' || o'
      ''
      '      FROM SYS_DIC SD1'
      '          INNER JOIN tree t '
      '           ON t.sdid = sd1.SDPARID)'
      ' SELECT  o || SDNAME AS SDNAME, SDID, SDPARID FROM tree t'
      ') AS t1'
      'INNER JOIN SYS_DIC sd1 ON sd1.SDID = t1.sdid'
      'UNION'
      'SELECT SD.SDPARID, SD.SDID, SD.SDNAME, SD.SDISDELETE'
      'FROM SYS_DIC SD'
      'WHERE SD.SDID = :SDPARID'
      'order by 1'
      ''
      ''
      '')
    UpdateObject = quSD
    GeneratorField.Field = 'SDID'
    GeneratorField.Generator = 'GEN_SYS_DIC'
    Left = 120
    Top = 88
    ParamData = <
      item
        DataType = ftUnknown
        Name = 'SDPARID'
        ParamType = ptUnknown
      end
      item
        DataType = ftUnknown
        Name = 'SDPARID'
        ParamType = ptUnknown
      end>
    object qSDSDPARID: TIntegerField
      FieldName = 'SDPARID'
      ProviderFlags = []
    end
    object qSDSDID: TIntegerField
      FieldName = 'SDID'
      ProviderFlags = []
    end
    object qSDSDNAME: TIBStringField
      FieldName = 'SDNAME'
      ProviderFlags = []
      Size = 2303
    end
    object qSDSDISDELETE: TIntegerField
      FieldName = 'SDISDELETE'
      Origin = '"SYS_DIC"."SDISDELETE"'
    end
  end
  object quSD: TIBUpdateSQL
    RefreshSQL.Strings = (
      'Select '
      '  SDID,'
      '  SDPARID,'
      '  SDNAME'
      'from SYS_DIC '
      'where'
      '  SDID = :SDID')
    ModifySQL.Strings = (
      'update SYS_DIC'
      'set'
      '  SDID = :SDID,'
      '  SDNAME = trim (leading from :SDNAME),'
      '  SDPARID = :SDPARID'
      'where'
      '  SDID = :OLD_SDID')
    InsertSQL.Strings = (
      'insert into SYS_DIC'
      '  (SDID, SDNAME, SDPARID)'
      'values'
      '  (:SDID, trim (leading from :SDNAME) , :SDPARID)')
    DeleteSQL.Strings = (
      'delete from SYS_DIC'
      'where'
      '  SDID = :OLD_SDID')
    Left = 160
    Top = 88
  end
  object qChekChild: TIBQuery
    Database = DMInv.DBRead
    Transaction = DMInv.IBTransaction1
    DataSource = dlgDS
    SQL.Strings = (
      'SELECT t1.*, SD1.SDISDELETE'
      'FROM'
      '('
      'WITH   recursive'
      '   tree (SDNAME, SDID, SDPARID, o)'
      
        '   AS (SELECT SD.SDNAME, SD.SDID, sd.SDPARID, CAST('#39#39' AS VARCHAR' +
        '(2048)) AS o FROM SYS_DIC SD'
      '      WHERE sd.SDPARID = :SDID'
      '      UNION ALL'
      '      SELECT SD1.SDNAME, SD1.SDID, sd1.SDPARID, '#39' '#39' || o'
      ''
      '      FROM SYS_DIC SD1'
      '          INNER JOIN tree t '
      '           ON t.sdid = sd1.SDPARID)'
      ' SELECT  o || SDNAME AS SDNAME, SDID, SDPARID FROM tree t'
      ') AS t1'
      'INNER JOIN SYS_DIC sd1 ON sd1.SDID = t1.sdid')
    Left = 200
    Top = 88
    ParamData = <
      item
        DataType = ftUnknown
        Name = 'SDID'
        ParamType = ptUnknown
      end>
  end
  object dsFOPD2: TDataSource
    DataSet = memFOPD2
    Left = 320
    Top = 264
  end
  object memFOPD2: TdxMemData
    Indexes = <>
    SortOptions = []
    OnFilterRecord = memFOPD2FilterRecord
    Left = 350
    Top = 264
    object memFOPD2sdid: TIntegerField
      FieldName = 'sdid'
    end
    object memFOPD2sdidopt: TIntegerField
      FieldName = 'sdid_opt'
    end
    object memFOPD2sdname: TStringField
      FieldName = 'sdname'
      Size = 255
    end
  end
  object qSelectInf2: TIBQuery
    Database = DMInv.DBRead
    Transaction = DMInv.IBTransaction1
    SQL.Strings = (
      'select so.sdid, so.sdid_opt, sd.sdname'
      'from SYS_DIC_OPT so'
      '    left join sys_dic sd on sd.sdid=so.sdid_opt'
      'where so.SOISDELETE is null')
    GeneratorField.Field = 'SDID'
    Left = 392
    Top = 264
    object qSelectInf2SDID: TIntegerField
      FieldName = 'SDID'
      Origin = '"SYS_DIC_OPT"."SDID"'
    end
    object qSelectInf2SDID_OPT: TIntegerField
      FieldName = 'SDID_OPT'
      Origin = '"SYS_DIC_OPT"."SDID_OPT"'
    end
    object qSelectInf2SDNAME: TIBStringField
      FieldName = 'SDNAME'
      Origin = '"SYS_DIC"."SDNAME"'
      Size = 255
    end
  end
  object dsFOPD: TDataSource
    DataSet = memFOPD
    Left = 32
    Top = 448
  end
  object memFOPD: TdxMemData
    Indexes = <>
    SortOptions = []
    OnFilterRecord = memFOPDFilterRecord
    Left = 62
    Top = 448
    object memFOPDsdid_opt: TIntegerField
      FieldName = 'sdid_opt'
    end
    object memFOPDsdname: TStringField
      FieldName = 'sdname'
      Size = 255
    end
    object memFOPDidtype: TIntegerField
      FieldName = 'idtype'
    end
    object memFOPDcvalue: TStringField
      FieldName = 'cvalue'
      Size = 255
    end
  end
  object qSelectInf: TIBQuery
    Database = DMInv.DBRead
    Transaction = DMInv.IBTransaction1
    SQL.Strings = (
      'select so.sdid_opt,sd.sdname,sd2.sdid as idtype,sv.cvalue'
      'from SYS_DIC_OPT so'
      '    left join sys_dic sd on sd.sdid=so.sdid_opt'
      '    left join sys_dic sd2 on sd2.sdparid=so.sdid'
      
        '    left join sys_dic_val sv on sv.sdid=sd2.sdid and sv.sdid_opt' +
        '=sd.sdid'
      'where so.SOISDELETE is null')
    GeneratorField.Field = 'SDID'
    Left = 96
    Top = 448
    object qSelectInfSDID_OPT: TIntegerField
      FieldName = 'SDID_OPT'
      Origin = '"SYS_DIC_OPT"."SDID_OPT"'
    end
    object qSelectInfSDNAME: TIBStringField
      FieldName = 'SDNAME'
      Origin = '"SYS_DIC"."SDNAME"'
      Size = 255
    end
    object qSelectInfIDTYPE: TIntegerField
      FieldName = 'IDTYPE'
      Origin = '"SYS_DIC"."SDID"'
    end
    object qSelectInfCVALUE: TIBStringField
      FieldName = 'CVALUE'
      Origin = '"SYS_DIC_VAL"."CVALUE"'
      Size = 255
    end
  end
end
